package com.whmall.service.crm.enumeration;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

import java.io.Serializable;

@Getter
@RequiredArgsConstructor
public enum CompanyConfigKeyEnum implements Serializable {

    // 是否能查看AI路线设免费版
    HAS_CVFVAIR("has_cvfvair", "0"),
    // 是否在PC端个人中心显示“导出采购订单”按钮
    HAS_DEPOBIPCOPT("has_depobipcopt", "1"),
    // 是否在PC端个人中心显示“导出销售订单”按钮
    HAS_DESOBIPCOPT("has_desobipcopt", "1"),
    // 是否导入第三方开票数据
    HAS_IMPORT_TPBD("has_import_tpbd", "0"),
    // 是否自动确认客户订单
    HAS_AUTO_CONFIRM_ORDER("has_auto_confirm_order", "0"),
    // 凭证是否同步NC
    HAS_VOUCHER_SYNC_NC("has_voucher_sync_nc", "0"),
    // 是否从税务云拉取进项发票
    HAS_PULL_II_FROM_TC("has_pull_ii_from_tc", "0"),
    // 销项发票是否支持云开票
    HAS_OI_SUPPORT_CI("has_oi_support_ci", "0"),
    // 是否默认在线付款
    HAS_SET_DEFAULT_OP("has_set_default_op", "0"),
    // 是否可作为订单交易主体
    HAS_USE_ORDER_TRADE_SUBJECT("has_use_order_trade_subject", "0"),
    // 页眉 图片链接
    HEADER_URL("header_url", ""),
    // 页脚 JSON对象字符串 格式： {"ow":"官方网站","csh":"客服热线","ed":"邮箱","eq":"企业QQ"}
    FOOTER_JSON("footer_json", "{}"),
    // 合同专用章	图片链接
    CONTRACT_SEAL_URL("contract_seal_url", ""),
    // 质检专用章	图片链接
    QUALITY_INSPECTION_SEAL_URL("quality_inspection_seal_url", ""),
    // 财务专用章	图片链接
    FINANCIAL_SEAL_URL("financial_seal_url", ""),
    // 微信公众号图片	图片链接
    MP_URL("mp_url", ""),
    // 公众号名称
    MP_NAME("mp_name", ""),
    // LOGO水印	图片链接
    LOGO_WATERMARK("logo_watermark", ""),
    // 是否显示在销项发票登记页面 0否，大于0是，大于0 时，用于排序，从小到大排序
    HAS_DISPLAY_SIRP("has_display_sirp", "0"),
    // 订单编号前缀`
    ORDER_NO_PREFIX("order_no_prefix", "RD"),
    // 进入深度订单采购金额
    BRPDO_AMOUNT("brpdo_amount", "10000"),
    // 品牌试剂进入深度订单采购金额
    NON_BRPDO_AMOUNT("non_brpdo_amount", "2000"),
    // 新供应商订单是否需要创建审批
    NSO_NEED_VERIFY("nso_need_verify", "1"),
    // 给采购问题是否需要回答
    PQ_NEED_RESPOND("pq_need_respond", "1"),
    ;

    private final String name;
    private final String defaultValue;

    public static CompanyConfigKeyEnum fromValue(String name) {
        for (CompanyConfigKeyEnum e : values()) {
            if (e.getName().equals(name)) {
                return e;
            }
        }
        return null;
    }
}
